/// List of functions that are called at the top level of the Postgres backend.
/// eBPF hooks for these functions are declared specially in the kernelspace-ebpf-tracer
/// crate because they require special handling, suhc a tieing together top level
/// function calls that are logically grouped together.
pub const POSTGRES_TOP_LEVEL_COMMAND_FUNCS: &[&str] = &[
    "exec_simple_query",
    "exec_parse_message",
    "exec_bind_message",
    "exec_execute_message",
];

/// List of functions that are called in some lower level of the Postgres backend.
/// eBPF hooks for these functions are autogenerated by the build.rs script in the
/// kernelspace-ebpf-tracer crate using this list. The userspace collector also looks
/// at this list to determine which functions to attach to.
pub const POSTGRES_FUNCS: &[&str] = &[
    "pg_parse_query",
    "pg_analyze_and_rewrite_varparams",
    "pg_plan_queries",
    "pg_plan_query",
    "planner",
    "BeginImplicitTransactionBlock",
    "PopActiveSnapshot",
    "CreatePortal",
    "PortalDefineQuery",
    "PortalStart",
    "PortalRun",
    "BeginCommand",
    "start_xact_command",
    "finish_xact_command",
    "FillPortalStore",
    "PortalRunSelect",
    "PortalRunMulti",
    "ProcessQuery",
    "ExecutorStart",
    "ExecutorRun",
    "ExecutorFinish",
    "ExecutePlan",
];
